var liste_scroll_titre_actif=0,liste_scroll_menus=false,liste_scroll_y=100;
var liste_scroll_invite=new Array(" "," "," ");
var liste_scroll_num_window=0,liste_scroll_decale=0;
var liste_scroll_titres=new Array(),liste_scroll_appui=false,scroll_x=0,scroll_y=0;
var liste_scroll_file=""

function add_list_scroll(file,noeud,invites,options,num)
{
	prefixe_scroll = noeud
	liste_scroll_invite=invites.split("\n")
	liste_scroll_titres= options.split("\n")
	liste_scroll_num_window=num;
	liste_scroll_titre_actif=0
	liste_scroll_menus=false;
	liste_scroll_file = file
	getSVGObject(liste_scroll_file , liste_scroll_window)
}

function liste_scroll_init()
{
	liste_ecris_chaine()
	objet = svgdoc.getElementById("liste_titre2")
	objet.firstChild.data = liste_scroll_titres[liste_scroll_titre_actif]
    var nb_menus = liste_scroll_titres.length
	ou = svgdoc.getElementById("scroll_textes")
	for (i=0;i<nb_menus;i++)
	{
		var node = svgdoc.createElementNS("http://www.w3.org/2000/svg","text");
		node.setAttribute("x","10");
		node.setAttribute("y",15+20*i);
		node.setAttribute("fill","black");
		node.setAttribute("font-size","13");
		node.setAttribute("font-family","Arial");
		var texte=svgdoc.createTextNode(liste_scroll_titres[i]);
		node.appendChild(texte);
		ou.appendChild(node)
	}
	svgdoc.getElementById("popup15").firstChild.data = popup_message[4]
	svgdoc.getElementById("popup16").firstChild.data = popup_message[5]
	var type_scroll = liste_scroll_file.substring(liste_scroll_file.lastIndexOf("/") + 1,liste_scroll_file.lastIndexOf("."))
	switch(type_scroll)
	{ 
		case "list_scroll" :
				svgdoc.getElementById("popup21").firstChild.data = popup_message[13]
				break
		case "list_scroll2" :
				svgdoc.getElementById("popup21").firstChild.data = popup_message[13]
				break
		case "list_scroll_pal" :
			getDataFile("palettes/" + liste_scroll_titres[0] , change_palette2)		
			svgdoc.getElementById("popup20").firstChild.data = popup_message[12]
			break
	}
//	svgdoc.rootElement.forceRedraw()
}

function liste_scroll_window( doc_frag ) 
{
	var node=svgdoc.getElementById(prefixe_scroll)
	node.appendChild (doc_frag)
	liste_scroll_init();
}

function liste_ecris_chaine()
{
	for (i=0;i<3;i++)
	{
		objet = svgdoc.getElementById('invite'+i.toString());
		objet.firstChild.data = liste_scroll_invite[i]
	}
}

function list_tape(evt)
{
	key = evt.getCharCode();
	if (key==13) 
		close_liste(true)
	if (key==27) 
		close_liste(false)
}

function close_list_scroll(result)
{
	remove_window(prefixe_scroll)
	eval(prefixe_scroll + "_use_list_scroll(result,liste_scroll_titres[liste_scroll_titre_actif],liste_scroll_num_window)");
}

function liste_scroll_faire(evt)
{
	if (!liste_scroll_menus) 
	{
		liste_scroll_menus=true
		liste_scroll_affiche(evt)
	} 
	else 
	{
		liste_scroll_menus=false
		liste_scroll_cache(evt)
	}
}

function liste_scroll_affiche(evt)
{
	liste_scroll_decale=0;
	svgdoc.getElementById("txt_liste").setAttribute("y","0");
	svgdoc.getElementById("liste_scroll_montre").setAttribute("transform","translate(20 , 90)")
	liste_scroll_titre_actif=0;
	objet=svgdoc.getElementById("liste_scroll_inv_menu");
	objet.setAttribute("y","90");
	node=svgdoc.getElementById("scroll_cursor");
	node.setAttribute("y","130");
	node=svgdoc.getElementById("ddown_list");
	node.setAttribute("visibility","visible");
}

function liste_scrolling(pas)
{
	liste_scroll_decale+=pas;
	if ((liste_scroll_decale>=0)&&(liste_scroll_decale<=liste_scroll_titres.length-6))
	{
		svgdoc.getElementById("liste_scroll_montre").setAttribute("transform","translate(20 ," + (90.0 - 20.0 * liste_scroll_decale) + ")")
		svgdoc.getElementById("txt_liste").setAttribute("y", 20.0 * liste_scroll_decale);
            var y_pos=parseInt(40*liste_scroll_decale/(liste_scroll_titres.length-6));
		node=svgdoc.getElementById("scroll_cursor");
		node.setAttribute("y",130+y_pos);
	}
	else
		liste_scroll_decale -= pas
}

function liste_scroll_inverse(evt)
{
 	if (ASV == "6")
	{
		var matrix = svgdoc.getElementById(prefixe_scroll).getScreenCTM().inverse()
		ym = evt.clientX * matrix.b + evt.clientY * matrix.d + matrix.f - 10 
	}
	else
	{
		var matrix = svgdoc.getElementById(prefixe_scroll).getCTM().inverse()
		var xm1 = coordo_x(evt.clientX)
		var ym1 = coordo_y(evt.clientY)
		ym = xm1 * matrix.b + ym1 * matrix.d + matrix.f
	}
	sous_menu=Math.floor((ym-liste_scroll_y)/20);
	if ((sous_menu>=0)&&(sous_menu < 6))
	{
		objet=svgdoc.getElementById("liste_scroll_inv_menu");
		objet.setAttribute("y",90 + 20 * sous_menu);
	}
}

function liste_scroll_cache(evt)
{
	node=svgdoc.getElementById("ddown_list");
	node.setAttribute("visibility","hidden");
}

function liste_glisse_click(evt,valeur)
{
	liste_scroll_appui = valeur
}

function liste_glisse(evt)
{
	if ((!liste_scroll_appui) || (liste_scroll_titres.length < 7))
		return
	if (ASV == "6")
	{
		var matrix = evt.target.getScreenCTM().inverse()
		ym = evt.clientX * matrix.b + evt.clientY * matrix.d + matrix.f - 35 
	}
	else
	{
		var matrix = svgdoc.getElementById(prefixe_scroll).getCTM().inverse()
		var xm1 = coordo_x(evt.clientX) 
		var ym1 = coordo_y(evt.clientY)
		ym = xm1 * matrix.b + ym1 * matrix.d + matrix.f - 50
	}
   	liste_scroll_decale = Math.round(ym * (liste_scroll_titres.length - 6) / 50);
	if (liste_scroll_decale < 0) 
		liste_scroll_decale = 0
	if (liste_scroll_decale > liste_scroll_titres.length - 6)
		liste_scroll_decale = liste_scroll_titres.length-6
	svgdoc.getElementById("liste_scroll_montre").setAttribute("transform","translate(20 ," + (90.0 - 20.0 * liste_scroll_decale) + ")")
	svgdoc.getElementById("txt_liste").setAttribute("y",20.0 * liste_scroll_decale);
 	if (ym < 0)
		ym = 0
	if (ym > 40)
		ym = 40
	svgdoc.getElementById("scroll_cursor").setAttribute("y", 130 + ym)
}


function liste_scroll_choix(evt)
{
	if (ASV == "6")
	{
		var matrix = svgdoc.getElementById(prefixe_scroll).getScreenCTM().inverse()
		ym = evt.clientX * matrix.b + evt.clientY * matrix.d + matrix.f 
	}
	else
	{
		var matrix = svgdoc.getElementById(prefixe_scroll).getCTM().inverse()
		var xm1 = coordo_x(evt.clientX) 
		var ym1 = coordo_y(evt.clientY)
		ym = xm1 * matrix.b + ym1 * matrix.d + matrix.f
	}
    var sous_menu=Math.floor((ym-liste_scroll_y)/20);
	sous_menu=sous_menu + liste_scroll_decale
	if ((sous_menu>=0)&&(sous_menu < liste_scroll_titres.length))
	{
		liste_scroll_titre_actif=sous_menu
		liste_scroll_cache(evt)
		objet=svgdoc.getElementById("liste_titre2")
		objet.firstChild.data = liste_scroll_titres[liste_scroll_titre_actif]
		if (liste_scroll_num_window == 4)
			objet.setAttribute("font-family",liste_scroll_titres[liste_scroll_titre_actif])
	liste_scroll_menus=false
	if (liste_scroll_file == "svg/list_scroll_pal.svg" )
		getDataFile("palettes/" + liste_scroll_titres[liste_scroll_titre_actif] , change_palette2)		
	}
}

function change_palette2(data)
{
if (data.success) 
{
	var colors_palette = data.content.substring(0,data.content.length - 1).split(";")
	for ( i = 2 ; i <= 24 ; i ++)
		svgdoc.getElementById("pals" + i.toString()).setAttribute("fill",colors_palette[i - 1])
}
else
	add_alert("svg/alert.svg","outil",dialog[9] + "\n" + dialog[10] + "\n" + dialog[11])
}